The present invention relates to techniques for controlling data transmission along communication paths that include a radio part provided by a cellular mobile radio network.
The invention finds a particular, although not exclusive, application in implementing the Transmission Control Protocol (TCP) standardized by the Internet Engineering Task Force (IETF) and used in many telecommunication systems using the Internet Protocol (IP) in the network layer. The TCP uses a data acknowledgment and retransmission mechanism. Requests For Comments (RFC) 2581 and 2988 published by the IETF in April 1999 and November 2000, respectively, specify ways of retransmitting data in a system using the TCP in the transport layer.
According to RFC 2988, a first TCP host (e.g. a server) that is seeking to transmit data to a second TCP host (e.g. a fixed terminal) negotiates with the latter the size of the segments (TCP data units) that they may exchange. The maximum size of a TCP segment is 1500 bytes, but a segment can be smaller, especially if one of the hosts supports only more limited segment sizes.
The first TCP host then evaluates a round trip time (RTT) for the data, corresponding to the time between the transmission of a set of data segments and the reception by the server of an acknowledgment message sent by the terminal in response to the reception of these data segments. It must be noted that there is no one-to-one correspondence between the TCP data segments and the acknowledgments, which means that the terminal can send an acknowledgment in response to receiving a plurality of data segments transmitted by the server. The data is identified by means of a mechanism for numbering the bytes exchanged, whereby each segment transmitted from the server to the terminal contains a 32-bit sequence number corresponding to the number of the first byte carried by the segment transmitted, and each acknowledgment contains the next sequence number that the terminal is expecting to receive from the server, i.e. the sequence number obtained by adding 1 to the sequence number of the last byte that was received successfully.
The server also evaluates, for each new calculated value of the RTT, a smoothed round-trip time (SRTT) parameter that is a function of the RTT. The SRTT typically takes relatively less account of the new calculated value of the RTT and relatively more account of the previously calculated value of the SRTT.
Finally, a retransmit time out (RTO) parameter is evaluated by the server. It is used to control the time between sending a data set and retransmitting that set when the server receives no acknowledgment corresponding to these data from the terminal. The RTO is directly dependent on the average value and the variance of the SRTT parameter, so that its value increases if the RTT is subject to significant variations. This prevents precipitate retransmission of data that may in fact have been received by the terminal. When retransmission has been effected, upon expiry of the RTO, the server can increase the RTO, for example double it, to prevent successive retransmissions that are too closely spaced in time.
The above kind of process is well suited to transmitting data between fixed TCP hosts, as the data routing times are generally relatively stable. Any variations in the RTT, for example in the event of congestion, are accompanied by small variations in the RTO, and acknowledgments can therefore usually be received before the data concerned is retransmitted.
Consider now data transmission in a mobile context, for example between a data server and a radio terminal via a radiocommunication network. Transmission of data via a General Packet Radio Service (GPRS) network as defined by the European Telecommunications Standards Institute (ETSI) is known in the art. The radio terminal and the remote TCP host (e.g. a server) include, as in the previous situation, a TCP protocol layer to perform data transport. In this situation, the mobile radio network relays TCP segments between the terminal and the server without interpreting them.
In such system, the radio terminal is linked by radio to a base station connected to the data server via a packet control unit (PCU) and switches called GPRS serving nodes (GSN) that are specific to the GPRS core network.
Given the mobility of the terminal, it may be determined, for example after an analysis of radio propagation condition measurements, that it is necessary to switch the communication to a second base station. The terminal then advises the GPRS network of this fact. This mechanism is called cell reselection.
However, until it receives the cell reselection information from the terminal, the network does not know that the terminal is no longer accessible from the first base station, and so continues to transmit data to the terminal on the path via the first station. Because the terminal is then no longer in a position to acknowledge data sent by the server, the latter retransmits the data that has not been acknowledged each time the RTO expires, and increases the RTO for the next retransmission.
Because the network takes account of the mobility of the terminal after a time period of typically 15 seconds, the RTO may have increased considerably in the meantime. Then, once the radio link has been set up between the second base station and the radio terminal, the non-acknowledged segments are retransmitted by the server upon expiry of the RTO, before being eventually forwarded to the terminal and, if all goes well, acknowledged by the terminal. In this case, the mobility of the terminal therefore has the effect of introducing potentially very long periods in which transmission of data is interrupted, which represents a heavy penalty for the user of the terminal, especially if the current service necessitates a high and relatively constant bit rate.
The data transmitted by the server are temporarily stored in the form of GPRS packets in buffers of the PCU before retransmission to the radio terminal. In the most usual situation, the control unit empties its buffers before transmission is resumed via the second base station.
However, the Third Generation Partnership Project (3GPP) organization, responsible for standardizing the so-called 3rd generation systems, provides for the network optionally to command transfer to the second base station of all data in the buffers of the PCU addressed to the terminal, provided that the second base station is controlled by the same PCU as the first base station.
This procedure called FLUSH-LL is described in section 8.1 of the technical specification TS 08.18, version 8.7.0, published by the 3GPP in April 2001. It relies on the transmission of a FLUSH-LLC PDU packet from the GPRS core network to the PCU after the terminal reports cell reselection. This packet contains a terminal identifier called temporary logical link identity (TLLI). It also contains BSSGP virtual connection identifier (BVCI) parameters for identifying the first and second base stations. On receiving this message, the PCU is able to find all of the data stored in its buffers addressed to a terminal via the first base station and transfer the data to the second base station. The latter finally relays the data to the radio terminal, in the form of frames, as soon as the associated radio link is set up, and thus the terminal may acknowledge the data as soon as the frames are received and recombined to restore the TCP segments transmitted.
This circumvents the waiting time for the next retransmission (which can be very long at this stage of the process) before starting to acknowledge the data previously transmitted. However, given the time needed for the network to update the radio link, the PCU buffers generally contain a large amount of data for the attention of the terminal. The packets further include data from different TCP segments, including retransmission of some segments that have not been acknowledged, sent by the server each time the RTO expires. Accordingly, although there is a time saving for this option compared to the conventional mode of operation, the data transmission is nevertheless subject to lengthy interruption, related in particular to the time to transfer to the radio interface all the packets contained in the buffers of the PCU and addressed to the terminal, some of which are redundant.
An object of the present invention is to reduce the waiting time before resuming the transmission of data. Another object of the invention is to avoid congestion of the radio channel due to redundant and unnecessary transmissions.